home *** CD-ROM | disk | FTP | other *** search
- ;************************************************************
- ; FILTER STRUCTURE
- ;
- ;
- ;
- ; FINITE IMPULSE RESPONSE (FIR)
- ; LINEAR PHASE DIGITAL FILTER DESIGN
- ; REMEZ EXCHANGE ALGORITHM
- ;
- ; HILBERT TRANSFORMER
- ;
- ; FILTER LENGTH = 50
- ;
- ; ***** IMPULSE RESPONSE *****
- ; H( 1) = .13162560E+00 = -H( 50)
- ; H( 2) = .89106710E-01 = -H( 49)
- ; H( 3) = -.13654400E+00 = -H( 48)
- ; H( 4) = -.14179820E-01 = -H( 47)
- ; H( 5) = -.44728550E-01 = -H( 46)
- ; H( 6) = -.55178160E-01 = -H( 45)
- ; H( 7) = -.42822250E-02 = -H( 44)
- ; H( 8) = -.63906710E-01 = -H( 43)
- ; H( 9) = .96562650E-02 = -H( 42)
- ; H(10) = -.56198930E-01 = -H( 41)
- ; H(11) = .10118810E-01 = -H( 40)
- ; H(12) = -.38664480E-01 = -H( 39)
- ; H(13) = .36292080E-02 = -H( 38)
- ; H(14) = -.13893960E-01 = -H( 37)
- ; H(15) = -.62213840E-02 = -H( 36)
- ; H(16) = .17244380E-01 = -H( 35)
- ; H(17) = -.16327770E-01 = -H( 34)
- ; H(18) = .54069490E-01 = -H( 33)
- ; H(19) = -.21842140E-01 = -H( 32)
- ; H(20) = .97363050E-01 = -H( 31)
- ; H(21) = -.14074010E-01 = -H( 30)
- ; H(22) = .15518270E+00 = -H( 29)
- ; H(23) = .34628240E-01 = -H( 28)
- ; H(24) = .29468500E+00 = -H( 27)
- ; H(25) = .54447590E+00 = -H( 26)
- ;
- ; BAND 1 BAND 2 BAND 3
- ; LOWER BAND EDGE .0000000 .0290000 .4600000
- ; UPPER BAND EDGE .0200000 .4500000 .5000000
- ; DESIRED VALUE .0000000 1.0000000 .0000000
- ; WEIGHTING 10.0000000 1.0000000 10.0000000
- ; DEVIATION .0489696 .4896959 .0489696
- ;
- ; EXTREMAL FREQUENCIES--MAXIMA OF THE ERROR CURVE
- ; .0116667 .0200000 .0290000 .0465000 .0681666
- ; .0898333 .1106666 .1323332 .1531665 .1739999
- ; .1948332 .2156665 .2364998 .2573331 .2781664
- ; .2998331 .3206664 .3414997 .3631664 .3856663
- ; .4073330 .4314996 .4500000 .4600000 .4691667
- ; .5000000
- ;
- ;***********************************************************
- ;
- ;
- XN: EQU 0
- XNM1: EQU 1
- XNM2: EQU 2
- XNM3: EQU 3
- XNM4: EQU 4
- XNM5: EQU 5
- XNM6: EQU 6
- XNM7: EQU 7
- XNM8: EQU 8
- XNM9: EQU 9
- XNM10: EQU 10
- XNM11: EQU 11
- XNM12: EQU 12
- XNM13: EQU 13
- XNM14: EQU 14
- XNM15: EQU 15
- XNM16: EQU 16
- XNM17: EQU 17
- XNM18: EQU 18
- XNM19: EQU 19
- XNM20: EQU 20
- XNM21: EQU 21
- XNM22: EQU 22
- XNM23: EQU 23
- XNM24: EQU 24
- XNM25: EQU 25
- XNM26: EQU 26
- XNM27: EQU 27
- XNM28: EQU 28
- XNM29: EQU 29
- XNM30: EQU 30
- XNM31: EQU 31
- XNM32: EQU 32
- XNM33: EQU 33
- XNM34: EQU 34
- XNM35: EQU 35
- XNM36: EQU 36
- XNM37: EQU 37
- XNM38: EQU 38
- XNM39: EQU 39
- XNM40: EQU 40
- XNM41: EQU 41
- XNM42: EQU 42
- XNM43: EQU 43
- XNM44: EQU 44
- XNM45: EQU 45
- XNM46: EQU 46
- XNM47: EQU 47
- XNM48: EQU 48
- XNM49: EQU 49
- ;
- H0: EQU 50
- H1: EQU 51
- H2: EQU 52
- H3: EQU 53
- H4: EQU 54
- H5: EQU 55
- H6: EQU 56
- H7: EQU 57
- H8: EQU 58
- H9: EQU 59
- H10: EQU 60
- H11: EQU 61
- H12: EQU 62
- H13: EQU 63
- H14: EQU 64
- H15: EQU 65
- H16: EQU 66
- H17: EQU 67
- H18: EQU 68
- H19: EQU 69
- H20: EQU 70
- H21: EQU 71
- H22: EQU 72
- H23: EQU 73
- H24: EQU 74
- ;
- MODE: EQU 75
- CLOCK: EQU 76
- MASK1: EQU 77
- MASK2: EQU 78
- TEMPHI: EQU 79
- TEMPLO: EQU 80
- YN: EQU 89
- ONE: EQU 90
- ;
- ORG 0
- ;
- B START
- ;
- ; COEFFICIENTS ARE INITIALLY ;
- ; STORED IN PROGRAM MEMORY ;
- ;
- ; DUE TO THE SYMMETRY OF THE IMPULSE RESPONSE ;
- ; ONLY HALF OF THE SAMPLES OF THE IMPULSE ;
- ; RESPONSE ARE STORED. THIS MEANS THAT ;
- ; h(N-1-n) = h(n). ;
- ;
- COEF:
- dw -4313; H( 1) = .13162560E+00 = -H( 50)
- dw -2919; H( 2) = .89106710E-01 = -H( 49)
- dw 4474
- dw 465
- dw 1466
- dw 1808
- dw 140
- dw 2094
- dw -316
- dw 1841
- dw -332
- dw 1267
- dw -119
- dw 455
- dw 204
- dw -565
- dw 535
- dw -1771
- dw 716
- dw -3190
- dw 461
- dw -5085
- dw -1135
- dw -9656
- dw -17841
- dw 000AH
- dw 0200H
- dw 0800H
- ENDC: dw 08000H
- ;
-
- START: LDPK 0
- ;
- LACK 1
- SACL ONE ; CONTENT OF ONE IS 1 ;
- ;
- LARK AR0,MASK2 ; THIS SECTION OF CODE LOADS ;
- LARK AR1,1DH ; THE FILTER COEFFICIENTS AND ;
- LACK ENDC ; OTHER VALUES FROM PROGRAM ;
- LOAD: LARP AR0 ; MEMORY TO DATA MEMORY ;
- TBLR *-,AR1
- SUB ONE
- BANZ LOAD
- ;
- NOP
- NOP
- ;
- WAIT: BIOZ NXTPT ; BIO PIN GOES LOW WHEN A ;
- B WAIT ; NEW SAMPLE IS AVAILABLE ;
- ;
- NXTPT: IN XN,PA3 ; BRING IN THE NEW SAMPLE XN ;
- LAC XN,4
- SUB ONE,15
- SACL XN,0
- ;
- ZAC
- ;
- LT XNM49 ; DUE TO SYMMETRY h(0) = -h(79) ;
- MPY H0 ; x(n-79) * -h(79) ;
- ;
- LTD XNM48
- MPY H1 ; h(1) = -h(78) ;
- ;
- LTD XNM47
- MPY H2
- ;
- LTD XNM46
- MPY H3
- ;
- LTD XNM45
- MPY H4
- ;
- LTD XNM44
- MPY H5
- ;
- LTD XNM43
- MPY H6
- ;
- LTD XNM42
- MPY H7
- ;
- LTD XNM41
- MPY H8
- ;
- LTD XNM40
- MPY H9
- ;
- LTD XNM39
- MPY H10
- ;
- LTD XNM38
- MPY H11
- ;
- LTD XNM37
- MPY H12
- ;
- LTD XNM36
- MPY H13
- ;
- LTD XNM35
- MPY H14
- ;
- LTD XNM34
- MPY H15
- ;
- LTD XNM33
- MPY H16
- ;
- LTD XNM32
- MPY H17
- ;
- LTD XNM31
- MPY H18
- ;
- LTD XNM30
- MPY H19
- ;
- LTD XNM29
- MPY H20
- ;
- LTD XNM28
- MPY H21
- ;
- LTD XNM27
- MPY H22
- ;
- LTD XNM26
- MPY H23
- ;
- LTD XNM25
- MPY H24
- ;
- APAC
- SACH TEMPHI,0
- SACL TEMPLO,0
- ZAC
- ;
- LT XNM24
- MPY H24
- ;
- LTD XNM23
- MPY H23
- ;
- LTD XNM22
- MPY H22
- ;
- LTD XNM21
- MPY H21
- ;
- LTD XNM20
- MPY H20
- ;
- LTD XNM19
- MPY H19
- ;
- LTD XNM18
- MPY H18
- ;
- LTD XNM17
- MPY H17
- ;
- LTD XNM16
- MPY H16
- ;
- LTD XNM15
- MPY H15
- ;
- LTD XNM14
- MPY H14
- ;
- LTD XNM13
- MPY H13
- ;
- LTD XNM12
- MPY H12
- ;
- LTD XNM11
- MPY H11
- ;
- LTD XNM10
- MPY H10
- ;
- LTD XNM9
- MPY H9
- ;
- LTD XNM8
- MPY H8
- ;
- LTD XNM7
- MPY H7
- ;
- LTD XNM6
- MPY H6
- ;
- LTD XNM5
- MPY H5
- ;
- LTD XNM4
- MPY H4
- ;
- LTD XNM3
- MPY H3
- ;
- LTD XNM2
- MPY H2
- ;
- LTD XNM1
- MPY H1
- ;
- LTD XN
- MPY H0
- ;
- ;
- APAC
- ;
- SUBS TEMPLO
- SUBH TEMPHI
-
-
- SACH YN,1
- LAC YN,12
- ADDH MASK1
- SACH YN,0
- ;
- OUT YN,PA4 ; OUTPUT THE FILTER RESPONSE y(n) ;
- ;
- B WAIT ; GO GET THE NEXT POINT ;
- ;
- END
-